// *************************************
// * Creator:SunnyPaine
// * DateTime:2024/09/04 08:09:04
// * Description:<Description>
// * CopyRight:
// * ***********************************

using System;

namespace SunnyPaine.Autofac.Extension.Mvvm.ViewCore
{
    /// <summary>
    /// 表示一个窗口。
    /// </summary>
    public interface IWindow
    {
        /// <summary>
        /// 获取或设置窗口的标题。
        /// </summary>
        string Title { get; set; }


        /// <summary>
        /// 当窗口即将关闭时发生。
        /// </summary>
        event EventHandler Closed;


        /// <summary>
        /// 打开一个窗口，并返回而不等待新打开的窗口关闭。
        /// </summary>
        void Show();

        /// <summary>
        /// 打开一个窗口，并关闭新打开的窗口时，才返回。
        /// </summary>
        /// <returns></returns>
        bool? ShowDialog();

        /// <summary>
        /// 手动关闭Window。
        /// </summary>
        void Close();
    }
}